List all annotation groups
The below code returns list of all annotation groups used in current DGN file.
//Required References
using System.Collections.Generic;
using Bentley.CifNET.ContentManagementModel;
public List<Bentley.CifNET.ContentManagementModel.AnnotationGroup> ListAnnotationGroups()
{
List<Bentley.CifNET.ContentManagementModel.AnnotationGroup> listAnnotationGroups = new List<Bentley.CifNET.ContentManagementModel.AnnotationGroup>();
//Get object space
Bentley.CifNET.CadSystem.IObjectSpaceManager objectSpaceManager = Bentley.CifNET.ServiceManager.Instance.GetService<Bentley.CifNET.CadSystem.IObjectSpaceManager>();
if (objectSpaceManager == null) return null;
Bentley.CifNET.Objects.IObjectSpace objectSpace = objectSpaceManager.ObjectSpace;
if (objectSpace == null) return null;
//Get ContentManagementModel
Bentley.CifNET.ContentManagementModel.ContentManagementModel cmm = Bentley.CifNET.ContentManagementModel.ContentManagementModel.GetContentManagementModel(objectSpace, Bentley.CifNET.Model.GetModelOptions.CheckIfExist);
if (cmm == null) return null;
//Get all annotation groups used in current DGN
AnnotationGroupNameSet annotationGroupNameSet = cmm.AnnotationGroupNameSet;
foreach (Bentley.CifNET.ContentManagementModel.AnnotationGroup annotationGroup in annotationGroupNameSet)
{
listAnnotationGroups.Add(annotationGroup);
}
return listAnnotationGroups;
}